package com.huaxin.device.dto.request;

import com.huaxin.device.dto.enums.validation.ValidConnectionType;
import com.huaxin.device.dto.enums.validation.ValidEquipmentType;
import com.huaxin.device.dto.request.base.BasePageReqDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
public class EquipmentConnectionsPageListReqDTO extends BasePageReqDTO {

    @Schema(description = "起点设备类型：Transformer, Cabinet, Switchgear, Generator, UPS, PDU, Meter, Sensor, Busway, DistributionBox, CapacitorBank, Motor, LightingPanel, TransferSwitch, SurgeProtector", example = "Transformer")
    @ValidEquipmentType
    private String fromEquipmentType;

    @Schema(description = "终点设备类型：Transformer, Cabinet, Switchgear, Generator, UPS, PDU, Meter, Sensor, Busway, DistributionBox, CapacitorBank, Motor, LightingPanel, TransferSwitch, SurgeProtector", example = "Cabinet")
    @ValidEquipmentType
    private String toEquipmentType;

    @Schema(description = "连接类型：Cable, Busbar, Wire, Fiber, Conduit", example = "Cable")
    @ValidConnectionType
    private String connectionType;

    @Schema(description = "连接名称关键词", example = "Main Feeder")
    private String keyword;
}